透過前面的幾篇,我們可以知道當滿足某條件,將會得到結果TRUE, FALSE
但如果可以經過判定後直接做出判斷的話就更好了
這時我們就可以使用if()這個指令直接將我們要得印出來
讓我們帶入大門警衛的資料來試試看吧
還記得前幾篇的門票費用
大人 <- 5
小孩 <- 3
狐姊_大人 <- 5
狐弟_小孩 <- 1
if ( 大人 == 狐姊_大人) {
print("門票費用收到,歡迎進城")
}
[1] "門票費用收到,歡迎進城"
if ( 小孩 == 狐弟_小孩) {
print("門票費用收到,請進城")
}
這邊我們有注意到當條件滿足時,指令將會印"門票費用收到,收到不找零,歡迎進城"
但當條件未滿足時,指令將無法做出判斷,也就無法印出任何東西。
這時我們就可以用else這個指令,else代表除了if以外滿足的其他條件
再把狐弟的指令帶入吧
if ( 小孩 == 狐弟_小孩) {
print("門票費用收到,請進城")
} else {
print("門票費用不足,旁邊繳納後才可入內")
}
[1] "門票費用不足,旁邊繳納後才可入內"
這次我們就可以看到,因狐弟只有付1金,但小孩費用是3金,因此條件未滿足直接列印出else的指令
到目前為止,我們都是設定當有繳足剛好進城費的指令和其它結果的指令
假如我們需再設定個超過進城費的費用呢?
那我們這次以x作為繳納者,這邊只會有3種狀況
狀況一
x <- 5
if ( 大人 == x) {
print("門票費用收到,請進城")
} else if (大人 < x) {
print("門票費用收到超出不退錢,請進城")
} else {
print("門票費用不足,旁邊繳納後才可入內")
}
[1] "門票費用收到,請進城"
狀況二
x <- 6
if ( 大人 == x) {
print("門票費用收到,請進城")
} else if (大人 < x) {
print("門票費用收到超出不退錢,請進城")
} else {
print("門票費用不足,旁邊繳納後才可入內")
}
[1] "門票費用收到超出不退錢,請進城"
狀況三
x <- 6
if ( 大人 == x) {
print("門票費用收到,請進城")
} else if (大人 < x) {
print("門票費用收到超出不退錢,請進城")
} else {
print("門票費用不足,旁邊繳納後才可入內")
}
[1] "門票費用不足,旁邊繳納後才可入內"
最後是以else其他的狀況去做設定,當然若情況多於3種以上,我們也可以在程式內插入更多的else if
好啦,謝謝各位勇者的收看,我們明天見